
//获取当前地址
var url = window.location.href;
//截取url前缀
url=url.substring(0,url.indexOf(window.location.pathname));
console.log(url);

//获取命名空间
function getContextPath() {
    var pathName = window.location.pathname;
    var index = pathName.substr(1).indexOf("/");
    var result = pathName.substr(0,index+1);
    console.log('请求pathName:'+result);
    return result;
}
//Vue.prototype.contextPath = getContextPath();
Vue.prototype.contextPath = "";
//截取头部
//函数的定义
Vue.prototype.getUrl =function(urlSuf) {
    //将contextPath追加
    console.log(urlSuf+ '请求index:'+urlSuf.indexOf(Vue.prototype.contextPath));
    if(urlSuf.indexOf(Vue.prototype.contextPath)!=-1){
        return url+ urlSuf ;
    }
    return url+ Vue.prototype.contextPath + urlSuf ;
};


/***
 * 包装post请求
 * @param url 请求url
 * @param requestBody 请求体
 * @param calBack 执行成功的回调函数
 */
Vue.prototype.$send = function(url,requestBody,calBack){
    console.log('$send start:'+url);

    Vue.http.post(url,requestBody).then(function(data){
        if(data.data.success){
            console.log(url+': '+data.data.success);
            //console.log('data : '+JSON.stringify(data.data.data));
            calBack(data.data.data);
        }else{
            alert(url+"错误："+data.data.responseMessage);
        }
    }).catch(function(){
        alert(url+' 请求服务器异常！');
    });
};

/***
 * 加载图片组件
 * @param callBack
 */

/***
 * 加载图片组件
 * @param callBack
 */
Vue.prototype.$openImageComponent = function (){
    console.log('$openImageComponent');
    //打开图片选择控件
    $('#imgSelModal').modal('show');
};
/***
 * 加载商品组件
 * @param callBack
 */
Vue.prototype.$openGoodsComponent = function (){
    console.log('$openGoodsComponent');
    //打开图片选择控件
    $('#goodsSelModal').modal('show');
};
/***
 * 日期格式化
 * @param strTime
 * @returns {string}
 */
Vue.prototype.$formatDate =function(fmt,dateTime) {
    if(dateTime == undefined || dateTime == null || dateTime == ''){
        return '';
    }
    var date = new Date(dateTime);
    var o = {
        "M+" : date.getMonth()+1,                 //月份
        "d+" : date.getDate(),                    //日
        "h+" : date.getHours(),                   //小时
        "m+" : date.getMinutes(),                 //分
        "s+" : date.getSeconds(),                 //秒
        "q+" : Math.floor((date.getMonth()+3)/3), //季度
        "S"  : date.getMilliseconds()             //毫秒
    };
    if(/(y+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
    for(var k in o)
        if(new RegExp("("+ k +")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
    return fmt;
}
/***
 * 获取图片真正的url地址
 * @param imgId
 * @returns {真正的url地址}
 */
Vue.prototype.$ImageUrl = function (imgId,type){
    var tp = '';
    if(type!=null){
        tp = type;
    }
    var url = Vue.prototype.getUrl('/config/img/loadImg/'+tp +"/") + imgId;
    console.log('$ImageUrl -:'+url);
    return  url;
};

/***
 * 批量加载字典列表
 * @param dicts
 * @param callBack
 */
Vue.prototype.$loadDicts = function (dicts,callBack) {
    //设置查询字典地址
    var dictUrl = Vue.prototype.getUrl('/config/dict/findByType');
    var dictNames=Object.keys(dicts);
    console.log(dictNames);
    //循环加载
    for(var i =0;i<dictNames.length;i++){
        var codeType = dictNames[i];
        //发请求获取字典内容
        loadByUrl(dictUrl,codeType,dicts,callBack);
    }
};
/***
 * 加载对应的字典信息到dicts
 * @param url
 * @param codeType
 * @param dicts
 * @param callBack
 */
function loadByUrl(url,codeType,dicts,callBack){
    console.log('$loadDicts start:'+codeType);
    Vue.http.post(url,codeType).then(function(data){
        console.log(url+': '+data.data.success);
        if(data.data.success){
            //设置字典
            dicts[codeType].list=data.data.data;
            //将结果放到map中
            for(var j=0;j<dicts[codeType].list.length;j++){
                //key:id  , value:dict对象
                dicts[codeType].map[dicts[codeType].list[j].id]=dicts[codeType].list[j];
            }
            callBack(codeType);
            console.log('$loadDicts:'+dicts[codeType]+','+codeType+' is loaded');
        }else{
            alert("查询字典失败："+data.data.errorMessage);
        }
    }).catch(function(){
        alert('loadByUrl 服务器异常！');
    });
}